-- ToME - Tales of Maj'Eyal
-- Copyright (C) 2009, 2010, 2011, 2012 Nicolas Casalini
--
-- This program is free software: you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation, either version 3 of the License, or
-- (at your option) any later version.
--
-- This program is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
--
-- Nicolas Casalini "DarkGod"
-- darkgod@te4.org

local sex = game.player.female and "добрая" or "добрый"
local sex1 = game.player.female and "нашла" or "нашёл"
local sex2 = game.player.female and "должна" or "должен"
local sex3 = game.player.female and "идиотка" or "идиот"



local function check_materials_gave_orb(npc, player)
	local q = player:hasQuest("east-portal")
	if not q or not q:isCompleted("gotoreknor") or not q:isCompleted("gave-orb") then return false end

	local gem_o, gem_item, gem_inven_id = player:findInAllInventories("Resonating Diamond")
	local athame_o, athame_item, athame_inven_id = player:findInAllInventories("Blood-Runed Athame")
	return gem_o and athame_o
end

local function check_materials_withheld_orb(npc, player)
	local q = player:hasQuest("east-portal")
	if not q or not q:isCompleted("gotoreknor") or not q:isCompleted("withheld-orb") then return false end

	local gem_o, gem_item, gem_inven_id = player:findInAllInventories("Resonating Diamond")
	local athame_o, athame_item, athame_inven_id = player:findInAllInventories("Blood-Runed Athame")
	return gem_o and athame_o
end

if game.player:hasQuest("east-portal") and game.player:hasQuest("east-portal").wait_turn and game.player:hasQuest("east-portal").wait_turn > game.turn then
newChat{ id="welcome",
	text = [[#LIGHT_GREEN#*Никакого ответа. Таннен, похоже, занят изучением Шара.*#WHITE#]],
	answers = {
		{"[уйти]"},
	}
}
else
newChat{ id="welcome",
	text = [[Чем я могу тебе помочь, ]]..sex..[[ @playerdescriptor.race@?]],
	answers = {
		{"[Рассказать ему про посох, Шар тысячи путей и портал.]", jump="east_portal1", cond=function(npc, player) local q = player:hasQuest("east-portal"); return q and q:isCompleted("talked-elder") and not q:isCompleted("gotoreknor") end},
		{"Я "..sex1.." алмаз и атам. [Показать атам и алмаз.]", jump="has_material_gave_orb", cond=check_materials_gave_orb},
		{"Я "..sex1.." алмаз и атам. [Показать атам и алмаз.]", jump="has_material_withheld_orb", cond=check_materials_withheld_orb},
		{"Ты грязный вор. Готовься к смерти!", jump="fake_orb_end", cond=function(npc, player) local q = player:hasQuest("east-portal"); return q and q:isCompleted("tricked-demon") end},
		{"Как далеко продвинулись твои исследования? Ты уже готов создать портал?", jump="wait_end", cond=function(npc, player) local q = player:hasQuest("east-portal"); return q and q:isCompleted("open-telmur") end},
		{"Ничем, прошу прощения. До свидания!"},
	}
}
end

---------------------------------------------------------------
-- Explain the situation and get quest going
---------------------------------------------------------------
newChat{ id="east_portal1",
	text = [[Удивительно! Я встречал упоминания про этот Шар в древних книгах и легендах. Можно мне его посмотреть?]],
	answers = {
		{"[Показать ему Шар тысячи путей]", jump="east_portal2"},
	}
}

newChat{ id="east_portal2",
	text = [[Действительно, он сделан великим мастером. Возможно, сам Линанилл приложил руку к его созданию. И ты говоришь, что у тебя есть инструкция по его использованию?]],
	answers = {
		{"Да. [Показать ему записку Земеккиса]", jump="east_portal3"},
	}
}

newChat{ id="east_portal3",
	text = [[#LIGHT_GREEN#*Он некоторое время читает.*#WHITE# Ах! Как интересно. Я снчала не понял методику Земеккиса, но теперь я вижу, что всё дело всего лишь в его плохом почерке. Мы сможем повторить здесь его работу, но, как он пишет, нам понадобится атам с кровавыми рунами и алмаз-резонатор.]],
	answers = {
		{"Есть какие-нибудь идеи по поводу того, где их искать?", jump="east_portal4"},
	}
}

newChat{ id="east_portal4",
	text = [[Если орки смогли создать портал в глубинах Рекнора, у них должны быть эти предметы. И если эти предметы не могут пройти через созданный с их помощью портал, то, само собой, они ещё находятся в Мадж-Эйяле. Я бы обыскал Рекнор, начиная с портала. Может, они не унесли атам и алмаз слишком далеко.]],
	answers = {
		{"Я начну поиски. Спасибо.", jump="east_portal5"},
	}
}

newChat{ id="east_portal5",
	text = [[Последняя просьба. Я бы хотел оставить у себя Шар тысячи путей пока ты будешь заниматься поисками. У меня нет опыта хрониста Земеккиса, и мне хотелось бы лучше изучить Шар перед тем, как повтоить его опыт.]],
	answers = {
		{"[Отдать ему Шар] ", action=function(npc, player) player:hasQuest("east-portal"):give_orb(player) end, jump="gave_orb"},
		{"Я лушче оставлю Шар у себя.", action=function(npc, player) player:hasQuest("east-portal"):withheld_orb(player) end, jump="withheld_orb"},
	}
}

newChat{ id="gave_orb",
	text = [[Спасибо. Я буду с ним очень аккуратен.]],
	answers = {
		{"Прощай. Я вернусь с атамом и алмазом.", action=function(npc, player) player:hasQuest("east-portal"):setStatus(engine.Quest.COMPLETED, "gotoreknor") end},
	}
}

newChat{ id="withheld_orb",
	text = [[Хорошо. Ничего страшного. Но мне понадобится несколько дней на изучение перед созданием портала.]],
	answers = {
		{"Я понимаю. Я вернусь с атамом и алмазом.", action=function(npc, player) player:hasQuest("east-portal"):setStatus(engine.Quest.COMPLETED, "gotoreknor") end},
	}
}

---------------------------------------------------------------
-- back with materials
---------------------------------------------------------------
newChat{ id="has_material_gave_orb",
	text = [[Прекрасно. Возвращайся через несколько дней и всё будет готово. Вот, возьми. #LIGHT_GREEN#*Он даёт тебе ключ.*#WHITE# Он откроет руины Тельмура, запечатанные много лет назад народом Шолтара. Если тебе посчастливиться найти в руинах и принести мне книгу под названием "Инверсные и повёрнутые вероятностные поля", наши шансы на создание портала сильно возрастут.]],
	answers = {
		{"Спасибо и до свидания.", action=function(npc, player) player:hasQuest("east-portal"):open_telmur(player) end},
	}
}

newChat{ id="has_material_withheld_orb",
	text = [[Прекрасно. Ты оставишь этот Шар у меня на некоторое время?]],
	answers = {
		{"Я очень боюсь его потерять. Прошу прощения.", jump="no_orb_loan"},
		{"Возьми. Смотри, не потеряй. Сейчас я "..sex2.." вернуться на Дальний Восток.", jump="orb_loan"},
	}
}

newChat{ id="no_orb_loan",
	text = [[#LIGHT_GREEN#*Старик вздыхает.*#WHITE# Хорошо. Похоже, мне нужно провести беглый осмотр под твоим наблюдением.]],
	answers = {
		{"[Отдать ему шар]", jump="no_orb_loan2"},
	}
}

newChat{ id="no_orb_loan2",
	text = [[Спасибо. Подожди несколько минут.. #LIGHT_GREEN#*Он начинает ходить взад и вперёд, изредка поглядывая на Шар.*#WHITE#]],
	answers = {
		{"[Ждать]", jump="no_orb_loan3"},
	}
}

newChat{ id="no_orb_loan3",
	text = [[#LIGHT_GREEN#*Он останавливается и возвращает Шар тебе.*#WHITE# Я думаю, что понял большую часть того, что мне нужно. Но мне нужно прояснить некоторые детали. Тебе придётся вернуться к этому эльфу-хронисту и спросить его, имел ли он в виду инверсное вероятностное поле или повёрнутое вероятностное поле. Я бы не хотел действовать наугад, так как результат может оказаться для тебя очень неприятным.]],
	answers = {
		{"Я вернусь с ответом.", action=function(npc, player) player:hasQuest("east-portal"):ask_east(player) end},
	}
}

newChat{ id="orb_loan",
	text = [[Не беспокойся. Возвращайся через несколько дней и всё будет готово. Да, возьми вот это. #LIGHT_GREEN#*Он даёт тбе ключ.*#WHITE# Он откроет руины Тельмура, запечатанные много лет назад народом Шолтара. Если тебе посчастливиться найти в руинах и принести мне книгу под названием "Инверсные и повёрнутые вероятностные поля", наши шансы на создание портала сильно возрастут.]],
	answers = {
		{"Спасибо и до свидания.", action=function(npc, player) player:hasQuest("east-portal"):open_telmur(player) end},
	}
}

---------------------------------------------------------------
-- Back to the treacherous bastard
---------------------------------------------------------------
newChat{ id="fake_orb_end",
	text = [[Думаю, у тебя не получится, ]]..sex3..[[. Посмотри вниз.
#LIGHT_GREEN#*Ты понимашь, что стоишь на подготовленном портале.*#WHITE#]],
	answers = {
		{"Что это...", action=function(npc, player) player:hasQuest("east-portal"):tannen_tower(player) end},
	}
}

newChat{ id="wait_end",
	text = [[Я готов. Ты нет. Посмотри вниз.
#LIGHT_GREEN#*Ты понимашь, что стоишь на подготовленном портале.*#WHITE#]],
	answers = {
		{"Что это...", action=function(npc, player) player:hasQuest("east-portal"):tannen_tower(player) end},
	}
}

return "welcome"
